package main

import "fmt"

//演示接口的集成
func main() {
	var stu Student
	var c CInterface = stu
	c.MethodC()

	//空接口不包含任何方法定义，所以任何类型默认都实现了空接口
	var emptyInterface interface{}
	emptyInterface = stu
	fmt.Println(emptyInterface)
}

type AInterface interface {
	MethodA()
}

type BInterface interface {
	MethodB()
}

//继承了额外两个接口，所以只有均实现了三个方法，才算实现了C接口
type CInterface interface {
	AInterface
	BInterface
	MethodC()
}

type Student struct {
}

func (stu Student) MethodA() {

}

func (stu Student) MethodB() {

}

func (stu Student) MethodC() {
	fmt.Println("方法C")
}
